iT邦幫忙

2023 iThome 鐵人賽

DAY 12
1

除了MVC以外,另一種軟體設計模式是MVVM(Model-View-ViewModel)。

MVVM

一種用於軟體設計和開發的架構模式,建立具有良好結構和可維護性的應用程序,以便更容易管理和維護代碼。

組成

https://ithelp.ithome.com.tw/upload/images/20230927/20162596sRpg1VHcF9.png

  • Model(模型):

    • 模型代表應用程序的數據和邏輯。
  • View(視圖):

    • 提供用戶界面(UI)
    • 顯示數據的外觀和布局給用戶,接收用戶輸入,並向用戶呈現。
  • ViewModel(視圖模型):

    • ViewModel是Model和View之間的中介層。
    • 接收View的指令,並傳給Model處理,再傳給View顯示。
    • 目標是使View保持簡單,不處理UI邏輯。

優點:

  • 易於重用 ViewModel:
    • ViewModel 完全獨立於任何UI元件,也就是要使畫面稍微更改,只需修改資料繫結表達式,而不必調整 ViewModel。
    • 如果其他頁面需要相同的資料和行為,則可以重複使用相同的 ViewModel,有助於實現具有回應性的網頁設計。
  • 易於測試 ViewModel:
    • ViewModel 不需要特定介面,更容易測試。

缺點:

  • 學習門檻高且不易除錯:
    • 使用 ViewModel 需要花費較多時間了解資料繫結和框架的運作方式和規則。如果對框架不熟悉,當出現問題時可能較難除錯。
  • 記憶體消耗較大:
    • 為了維護元件和ViewModel之間的資料繫結,框架需要額外的追蹤物件,這可能導致比使用MVC模式更多的記憶體消耗。

今天先到這邊~明天見/images/emoticon/emoticon65.gif


上一篇
【DAY11】MVC ( Model-View-Controller )
下一篇
【DAY13】 MVVM & MVC的比較
系列文
30天全端:關於網站實作的聊聊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言